home *** CD-ROM | disk | FTP | other *** search
/ Intel Web Outfitter Tool Kit 4 / Intel WebOutfitter Tool Kit Version 4.0.iso / public / Outfitter / TKM / scripts / objXP.js < prev   
Encoding:
Text File  |  2000-03-13  |  8.7 KB  |  245 lines

  1. <!-- // --><script language=JavaScript>
  2. //  ####  BEGIN g_sTKMRoot DEFINITION  ####
  3. //  Start at the beginning of the location and find our document root directory
  4. var g_sHref = location.href.toLowerCase();
  5. var g_nEndPos = g_sHref.indexOf('outfitter/');
  6. //  Grab everything up to the end of the word outfitter and add "/tkm/" to set the TKM Root
  7. var g_sTKMRoot = g_sHref.substring(0, (g_nEndPos + 9)) + '/tkm/';
  8. //  Move past the "outfitter/" string and start looking for the geo/lang
  9. var g_nBeginGeo = g_nEndPos + 10;
  10. //  Find the next "/" and we have the geo/lang
  11. var g_nEndGeo = g_sHref.indexOf('/', g_nBeginGeo);
  12. //  Parse out the geo/lang so we know what to use
  13. var g_sGeo = g_sHref.substring(g_nBeginGeo, g_nEndGeo);
  14. //  ####  END g_sTKMRoot DEFINITION  ####
  15.  
  16. //  ####  BEGIN ADD DEPENDENCIES  ####
  17. //document.write('<script language="javascript1.2" src="' + g_sTKMRoot + 'scripts/objTU.js">');
  18. document.write('<script language="javascript1.2" src="/outfitter/tkm/scripts/objTU.js">');
  19. document.write('\n<' + '/script>\n');
  20. //  ####  END DEPENDENCIES        ####
  21.  
  22. function XML_PARSER()
  23. {
  24.     this.LoadXMLFile = XP_LoadXMLFile;
  25.     this.UnloadXML = XP_UnloadXML;
  26.     this.GetFirstElement = XP_GetFirstElement;
  27.     this.GetNextElement = XP_GetNextElement;
  28.     this.GetElementTag = XP_GetElementTag;
  29.     this.GetElementText = XP_GetElementText;
  30.     this.GetAttributeValue2 = XP_GetAttributeValue2;
  31.     this.GetFirstAttribute = XP_GetFirstAttribute;
  32.     this.GetNextAttribute = XP_GetNextAttribute;
  33.     this.GetAttributeValue = XP_GetAttributeValue;
  34.     this.GetAttributeName = XP_GetAttributeName;
  35.     this.GetElementType = XP_GetElementType;
  36.     this.Init = XP_Init;
  37.     
  38.     this.CreateXML = XP_CreateXML;
  39.     this.CheckXML = XP_CheckXML;
  40.     this.CheckXML2 = XP_CheckXML2;
  41.  
  42.     
  43.     this.clsid = '9D5E0252-6F5A-11D3-8B11-0090271F3E6F';
  44.     this.ready = false;
  45.     this.xmlLoaded = false;
  46.     this.searchElem = '';
  47.     this.searchAttrib = '';
  48.     this.element = '';
  49.     this.searchHandle = '';
  50.     this.xmlHandle = '';        
  51.     this.subElemnt = '';
  52.     this.flag = false;
  53. }
  54.  
  55. function XP_GetElementType(handle, elmtHandle)
  56. {
  57.     if(document.layers) sRetVal = new String(document.xmlp.callMethod2('GetElementType',handle, elemtHandle));
  58.     else if(document.all) sRetVal = document.xmlp.GetElementType(handle, elmtHandle);
  59.     sRetVal = sRetVal.toString();
  60.     return sRetVal;
  61. }
  62.  
  63. //Loads the desired XML file in memory and
  64. //Creates an object for the pointer to the CXML file
  65. function XP_LoadXMLFile(fileName)
  66. {    
  67.     sRetVal = '';
  68.     if(document.layers) sRetVal = new String(document.xmlp.callMethod1('LoadXMLFile', fileName));
  69.     else if (document.all) sRetVal = document.xmlp.LoadXMLFile(fileName);            
  70.     this.xmlLoaded = true;
  71.     this.xmlHandle = sRetVal;
  72.     return sRetVal;
  73. }
  74. //Clears the memory of the XML file
  75. function XP_UnloadXML(fileName)
  76. {
  77.     sRetVal = '';
  78.     if(document.layers) sRetVal = new String(document.xmlp.callMethod1('UnloadXML', fileName));
  79.     else if (document.all) sRetVal = document.xmlp.UnloadXML(fileName);
  80.     sRetVal = sRetVal.toString();    
  81.     return sRetVal;
  82. }
  83. //Returns a pointer to the first element
  84. // 0 is the root element
  85. function XP_GetFirstElement(handle, parentHandle, tagName)
  86. {
  87.     sRetVal = '';
  88.     if(document.layers) sRetVal = new String(document.xmlp.callMethod3('GetFirstElement', handle, parentHandle, tagName));
  89.     else if (document.all) sRetVal = document.xmlp.GetFirstElement(handle, parentHandle, tagName);
  90.     sRetVal = sRetVal.toString();
  91.     return sRetVal;
  92. }
  93. //Returns a pointer to the next element
  94. function XP_GetNextElement(handle, siblingHandle, tagName)
  95. {
  96.     sRetVal = '';
  97.     if(document.layers) sRetVal = new String(document.xmlp.callMethod3('GetNextElement', handle, siblingHandle, tagName));
  98.     else if (document.all) sRetVal = document.xmlp.GetNextElement(handle, siblingHandle, tagName);
  99.     sRetVal = sRetVal.toString();
  100.     return sRetVal;
  101. }
  102. //Returns the name of element pointer passed in.
  103. function XP_GetElementTag(xmlHandle, elmtHandle)
  104. {
  105.     sRetVal = '';
  106.     if(document.layers) sRetVal = new String(document.xmlp.callMethod2('GetElementTag', xmlHandle, elmtHandle));
  107.     else if (document.all) sRetVal = document.xmlp.GetElementTag(xmlHandle, elmtHandle);
  108.     sRetVal = sRetVal.toString();
  109.     return sRetVal;
  110. }
  111.  
  112. function XP_GetElementText(xmlHandle, elmtHandle)
  113. {
  114.     sRetVal = '';
  115.     if(document.layers) sRetVal = new String(document.xmlp.callMethod2('GetElementText', xmlHandle, elmtHandle));
  116.     else if (document.all) sRetVal = document.xmlp.GetElementText(xmlHandle, elmtHandle);
  117.     sRetVal = sRetVal.toString();
  118.     return sRetVal;
  119. }
  120. //Returns the value of the attribute when passed the appropriate pointers
  121. function XP_GetAttributeValue2(xmlHandle, elmtHandle, attribute)
  122. {
  123.     sRetVal = '';
  124.     if(document.layers) sRetVal = new String(document.xmlp.callMethod3('GetAttributeValue2', xmlHandle, elmtHandle, attribute));
  125.     else if (document.all) sRetVal = document.xmlp.GetAttributeValue2(xmlHandle, elmtHandle, attribute);
  126.     sRetVal = sRetVal.toString();
  127.     return sRetVal;
  128. }
  129. //Returns the first attribute of an element
  130. function XP_GetFirstAttribute(xmlHandle, parentHandle)
  131. {
  132.     sRetVal = '';
  133.     if(document.layers) sRetVal = new String(document.xmlp.callMethod2('GetFirstAttribute', xmlHandle, parentHandle));
  134.     else if (document.all) sRetVal = document.xmlp.GetFirstAttribute(xmlHandle, parentHandle);
  135.     sRetVal = sRetVal.toString();
  136.     return sRetVal;    
  137. }
  138. //Returns the next attribute
  139. function XP_GetNextAttribute(xmlHandle, attribute)
  140. {
  141.     sRetVal = '';
  142.     if(document.layers) sRetVal = new String(document.xmlp.callMethod2('GetNextAttribute', xmlHandle, attribute));
  143.     else if (document.all) sRetVal = document.xmlp.GetNextAttribute(xmlHandle, attribute);
  144.     sRetVal = sRetVal.toString();
  145.     return sRetVal;
  146. }
  147. //Returns the value of the element attribute
  148. function XP_GetAttributeValue(xmlHandle, elmtHandle)
  149. {
  150.     sRetVal = '';
  151.     if(document.layers) sRetVal = new String(document.xmlp.callMethod2('GetAttributeValue', xmlHandle, elmtHandle));
  152.     else if (document.all) sRetVal = document.xmlp.GetAttributeValue(xmlHandle, elmtHandle);
  153.     sRetVal = sRetVal.toString();
  154.     return sRetVal;
  155. }
  156. //Returns the name of the element attribute
  157. function XP_GetAttributeName(xmlHandle, elmtHandle)
  158. {
  159.     sRetVal = '';
  160.     if(document.layers) sRetVal = new String(document.xmlp.callMethod2('GetAttributeName', xmlHandle, elmtHandle));
  161.     else if (document.all) sRetVal = document.xmlp.GetAttributeName(xmlHandle, elmtHandle);
  162.     sRetVal = sRetVal.toString();
  163.     return sRetVal;
  164. }
  165.  
  166. function XP_Init()
  167. {
  168.     /*  If the client is installed and completely up-to-date  */
  169.     if (ti.status == ti.INSTALLED)
  170.     {
  171.         if (document.layers) document.write('<embed type="application/x-weboutfitter-container" name="xmlp" width="" height="" clsid="{' + this.clsid + '}">');
  172.         else if (document.all) document.write('<object id="xmlp" name="xmlp" classid="clsid:' + this.clsid + '" height=0 width=0></object>');
  173.         this.ready = true;
  174.     }    
  175.     tu.Init();
  176. }
  177.  
  178. //***********************************************************************************************//
  179.  
  180. function XP_CheckXML2(sToolKey, sOSKey, sElement) {
  181.  
  182.     sToolKey = sToolKey.toUpperCase();
  183.     sOSKey = sOSKey.toUpperCase();
  184.     sElement = sElement.toUpperCase();
  185.     
  186.     var ToolElement = xp.GetFirstElement(xp.xmlHandle, "0", sElement);
  187.     var retval = 0; // - Tool not found
  188.     
  189.     for( ; ToolElement != ""; ToolElement = xp.GetNextElement(xp.xmlHandle, ToolElement, sElement))
  190.     {
  191.         if(sToolKey == xp.GetAttributeValue2(xp.xmlHandle, ToolElement, "KEY"))
  192.         {
  193.             retval = 1; // - No OS key
  194.             var l_key = xp.GetFirstAttribute(xp.xmlHandle, ToolElement);
  195.             for( ; l_key != ""; l_key = xp.GetNextAttribute(xp.xmlHandle, l_key2))
  196.             {
  197.                 l_key2 = l_key;
  198.                 if(sOSKey == xp.GetAttributeName(xp.xmlHandle, l_key)) retval = xp.GetAttributeValue(xp.xmlHandle, l_key);                        
  199.             }
  200.             break;
  201.         }
  202.     }
  203.     return retval;
  204. }
  205.  
  206. function XP_CheckXML(sToolKey, sOSKey, sElement, sSubElement) {
  207.     
  208.     var ToolElement = xp.GetFirstElement(xp.xmlHandle, "0", sElement);
  209.     var retval = 0; // - Tool not found
  210.     
  211.     for( ; ToolElement != ""; ToolElement = xp.GetNextElement(xp.xmlHandle, ToolElement, sElement))
  212.     {
  213.         if(sToolKey == xp.GetAttributeValue2(xp.xmlHandle, ToolElement, "KEY"))
  214.         {
  215.             retval = 1; // - No OS element
  216.             var OSElement = xp.GetFirstElement(xp.xmlHandle, ToolElement, sSubElement);
  217.             for( ; OSElement != ""; OSElement = xp.GetNextElement(xp.xmlHandle, OSElement, sSubElement))
  218.             {
  219.                 retval = 2; //  - OS mismatch
  220.                 if(sOSKey == xp.GetElementText(xp.xmlHandle, OSElement))
  221.                 {
  222.                     retval = 3; // - OS match
  223.                     break;
  224.                 }
  225.             }
  226.             break;
  227.         }
  228.     }
  229.     return retval;
  230. }
  231.  
  232. function XP_CreateXML(file) 
  233. {        
  234.     var medium = "MEDIUM='CD'";    
  235.     var xmlname = file;
  236.         
  237.     //Returns the complete file name
  238.     xmlname = tu.GetXMLFileName(xmlname, medium);
  239.         
  240.     //Creates the xp.xmlHandle
  241.     xp.LoadXMLFile(xmlname);    
  242. }
  243.  
  244. var xp = new XML_PARSER();
  245. //--></script>